package com.koron.order.defectDemotion.service;

import com.github.pagehelper.PageInfo;
import com.koron.bean.query.PageQuery;
import com.koron.order.defectDemotion.bean.po.DefectDemotionPo;
import com.koron.order.defectDemotion.bean.query.DefectDemotionQuery;
import org.koron.ebs.mybatis.SessionFactory;

import java.util.List;

/**
 * 缺陷工单下缺陷降级信息从表(DefectDemotion)表服务接口
 *
 * @author zhouj
 * @since 2022-02-09 10:36:49
 */
public interface DefectDemotionService {

    DefectDemotionPo insertOrUpdate(SessionFactory factory, DefectDemotionPo defectDemotion);

    int insertOrUpdateBatch(SessionFactory factory, List<DefectDemotionPo> defectDemotionList);

    int insert(SessionFactory factory, DefectDemotionPo defectDemotion);

    int insertBatch(SessionFactory factory, List<DefectDemotionPo> defectDemotionList);

    int update(SessionFactory factory, DefectDemotionPo defectDemotion);

    int deleteById(SessionFactory factory, String id);

    DefectDemotionPo queryById(SessionFactory factory, String id);

    PageInfo queryVoPageList(SessionFactory factory, DefectDemotionQuery demotionQuery, PageQuery pageQuery);

    List<DefectDemotionPo> queryList(SessionFactory factory, DefectDemotionPo defectDemotion);

    int submitDefectDemotion(SessionFactory factory, String orderId, String status);

}
